Prior art multi-processor computing systems have typically used a “front side bus” between its one or more processors and its memory controller. FIG. 1 shows a traditional multi-processor prior art computing system. According to the depiction of FIG. 1, the front side bus 105 is a “shared medium” component in which electrical signals passed between any processor and any other processor and/or the memory controller 103 are carried over the same electrical wiring.
The front side bus 105 becomes a bottleneck, particularly for multi-processor systems, because there tends to be heavy communication over the front side bus 105 (through small communicative sessions called “transactions”) between the processors 101_1 through 101_4 and the memory controller 103. In order to improve the performance of multi-processor systems, a new architecture has emerged (which may be referred to as “link based”) in which the front side bus is replaced with a network having point-to-point links between the processors and memory controller.
FIG. 2 shows an example. Here, note that the system nodes 201_1 through 201_4 and memory controller 203 are communicatively coupled by a network 205 having point-to-point links between these components. For ease of drawing the point-to-point links are depicted as being bi-directional. Typically, however, these bi-directional point-to-point links are actually implemented with a pair of uni-directional point-to-point links directed in opposite directions with respect to one another. The links may be physically implemented as copper wiring with (e.g., coaxial) shielding and/or fiber optic links. According to the architecture of FIG. 2, a “system node” is a unit containing one or more processing cores (e.g., one or more units of logic circuitry that executes program code). A “system node” may also have associated cache 202_1 through 202_4 for its respective processing cores. A “home agent” 203 having a memory controller controls access to system memory 204. An “agent” is a component of a link based computing system that has its own network address so that it can receive packets from the network (and send packets into the network). According to this definition, system nodes 201_1 through 201_4 and home agent 203 each correspond to separate “agent” instances.